// clean_test_util.hpp
#pragma once
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <filesystem> // 确保这一行后面只有换行符，没有其他任何字符！

using fs = std::filesystem;

class FileUtil {
public:
    // 确保构造函数的声明也是干净的
    FileUtil(const std::string& path);
    size_t getSize();
    size_t getLastModified();
    size_t getLastAccessed();
    bool setContent(const std::string& in_content);
    bool getContent( std::string& out_content,const size_t& pos,const size_t& len);
    bool getDirContent(const std::string& path, std::vector<std::string>& out_content);
    bool FileExists(const std::string& path);
    bool CreateDir(const std::string& path);
    bool CompressFile(const std::string& in_path, const std::string& back_path);
    bool UnCompressFile(const std::string& back_path, const std::string& in_path);

private:
    std::string name_path;
};
